/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package db_interaction;

import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.Session;

/**
 *
 * @author Neves
 */
@Entity
@Table(name = "grupo")
public class Grupo implements Serializable {

    @Id
    @GeneratedValue
    private int Grupo_id;
    @Basic
    @Column(name = "Grupo_descricao")
    private String Grupo_descricao;
    @Basic
    @Column(name = "Grupo_activo")
    private boolean Grupo_activo;

    //GETS
    public int GETGrupo_id() {
        return this.Grupo_id;
    }

    public String GETGrupo_descricao() {
        return this.Grupo_descricao;
    }

    public boolean GETGrupo_activo() {
        return this.Grupo_activo;
    }

    //SETS
    public void SETGrupo_id(int Grupo_id) {
        this.Grupo_id = Grupo_id;
    }

    public void SETGrupo_descricao(String Grupo_descricao) {
        this.Grupo_descricao = Grupo_descricao;
    }

    public void SETGrupo_activo(boolean Grupo_activo) {
        this.Grupo_activo = Grupo_activo;
    }

    //DB access
    public int insertEntity(Amigos friend) {
        //returns 1 if successfull
        //return -1 if error
        try {
            Session s = NewHibernateUtil.getSessionFactory();
            s.save(friend);
            s.getTransaction().commit();
            System.out.println("Inserido");
            return 1;
        } catch (Exception e) {
            return -1;
        }
    }

    public Grupo SelectEntity(Grupo gru) {
        Grupo g = null;

        //returns sellected friend if successfull
        //return null
        try {
            Session s = NewHibernateUtil.getSessionFactory();
            g = (Grupo) s.load(Grupo.class, gru.GETGrupo_id());
            s.getTransaction().commit();
            return g;

        } catch (Exception e) {
            return g;
        }
    }

    public int UpdateEntity(Grupo grup) {
        //returns 1 if successfull
        //return -1 if error
        try {
            Session s = NewHibernateUtil.getSessionFactory();
            s.save(grup);
            s.getTransaction().commit();
            return 1;

        } catch (Exception e) {
            return -1;
        }
    }
}
